package procsim;

public class PaintXY extends PaintTab {
    public PaintXY(Paint parent) {
        super(parent);
        // Coordinates
        Design.REGout.addCoords(this, 10, 200, 60, 200);
        Design.IR15_0.addCoords(this, 10, 250, 60, 250);
        Design.imm.addCoords(this, Design.XYAND.getLower2Coords(20));
        Design.R6.addCoords(this, Design.XYAND.getUpper2CoordsInv(20));
        Design.XYANDout.addCoords(this, Design.XYAND.getResCoords(10));
        Design.OPR.addCoords(this, 160, 225, 195, 225);
        Design.OPRH.addCoords(this, 195, 225, 195, 150);
        Design.OPRH.addCoords(this, 195, 150, 240, 150);
        Design.OPRL.addCoords(this, 195, 225, 195, 350);
        Design.OPRL.addCoords(this, 195, 350, 240, 350);
        Design.MDRout.addCoords(this, 205, 100, 240, 100);
        Design.MDRout.addCoords(this, 205, 300, 240, 300);
        Design.XYOR1out.addCoords(this, 290, 190, 290, 212);
        Design.XYOR2out.addCoords(this, 290, 390, 290, 412);
        Design.XYOR1out.addCoords(this, Design.XYOR1.getResCoords(10));
        Design.immreg.addCoords(this, Design.XYOR1.getLower2Coords(30));
        Design.R6.addCoords(this, Design.XYOR1.getUpper2Coords(30));
        Design.XYOR2out.addCoords(this, Design.XYOR2.getResCoords(10));
        Design.immreg.addCoords(this, Design.XYOR2.getLower2Coords(30));
        Design.R6.addCoords(this, Design.XYOR2.getUpper2Coords(30));
        Design.XYMP2out.addCoords(this, 340, 125, 655, 125);
        Design.XYMP2out.addCoords(this, Design.XH.getInCoords(25));
        Design.XYMP2out.addCoords(this, Design.YH.getInCoords(25));
        Design.XYMP3out.addCoords(this, 340, 325, 655, 325);
        Design.XYMP3out.addCoords(this, Design.XL.getInCoords(25));
        Design.XYMP3out.addCoords(this, Design.YL.getInCoords(25));
        Design.ldXH.addCoords(this, Design.XH.getLdCoords(30));
        Design.ldYH.addCoords(this, Design.YH.getLdCoords(30));
        Design.ldXL.addCoords(this, Design.XL.getLdCoords(30));
        Design.ldYL.addCoords(this, Design.YL.getLdCoords(30));
        Design.XHout.addCoords(this, Design.XH.getOutCoords(30));
        Design.YHout.addCoords(this, Design.YH.getOutCoords(30));
        Design.XLout.addCoords(this, Design.XL.getOutCoords(30));
        Design.YLout.addCoords(this, Design.YL.getOutCoords(30));

        // Collections
        elements.add(Design.XYMP1);
        elements.add(Design.XYMP2);
        elements.add(Design.XYMP3);
        elements.add(Design.XH);
        elements.add(Design.XL);
        elements.add(Design.YH);
        elements.add(Design.YL);
        elements.add(Design.XYOR1);
        elements.add(Design.XYOR2);
        elements.add(Design.XYAND);
        elements.add(Design.XYInv);

        lines.add(Design.REGout);
        lines.add(Design.IR15_0);
        lines.add(Design.MDRout);
        lines.add(Design.imm);
        lines.add(Design.immreg);
        lines.add(Design.R6);
        lines.add(Design.OPR);
        lines.add(Design.OPRH);
        lines.add(Design.OPRL);
        lines.add(Design.XYMP2out);
        lines.add(Design.XYMP3out);
        lines.add(Design.XHout);
        lines.add(Design.YHout);
        lines.add(Design.XLout);
        lines.add(Design.YLout);
        lines.add(Design.ldXH);
        lines.add(Design.ldYH);
        lines.add(Design.ldXL);
        lines.add(Design.ldYL);
        lines.add(Design.XYOR1out);
        lines.add(Design.XYOR2out);
        lines.add(Design.XYANDout);
    }
}
